﻿/*************************************************************************************

- CLR版本：        4.0.30319.42000
- 类 名 称：       Log4
- 机器名称：       YTE
- 命名空间：       LD.Common
- 文 件 名：       Log4
- 创建时间：       2022/9/7 14:20:43
- 作    者：       YTE
- 说   明：
- 修改时间：
- 修 改 人：
  *************************************************************************************/

using log4net;
using System;
using System.IO;

namespace LD.Host
{
    public static class Log4
    {
        public static event LogDelegate LogEvent;
        public static readonly ILog Log = LogManager.GetLogger("Info");
        public static void Init()
        {
            FileInfo file = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "Log4Net.xml");
            log4net.Config.XmlConfigurator.Configure(file);
        }
        public static void Info(string message)
        {
            Log.Info(message);
            message = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + "     " + message;
            //FrmLog.Instance.Add(message, LogLevel.一般);
            //LogEvent?.BeginInvoke(message, LogLevel.一般,null, null);
            LogEvent?.Invoke(message, LogLevel.一般);
        }
        public static void Warr(string message)
        {
            Log.Warn(message);
            message = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + "     " + message;
            //FrmLog.Instance.Add(message, LogLevel.一般);
            LogEvent?.Invoke(message, LogLevel.警告);
        }
        public static void Error(string message, Exception ex)
        {
            Log.Error(message, ex);
            message = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + "     " + message;
            //FrmLog.Instance.Add(message, LogLevel.一般);
            LogEvent?.Invoke(message, LogLevel.严重);
        }
        public static void Error(string message)
        {
            Log.Error(message);
            message = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + "     " + message;
            //FrmLog.Instance.Add(message, LogLevel.严重);
            LogEvent?.Invoke(message, LogLevel.严重);
        }
        public static void Error(Exception ex)
        {
            Log.Error(ex);
            string message = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff") + "     " + ex.Message;
            //FrmLog.Instance.Add(ex.Message, LogLevel.一般);
            LogEvent?.Invoke(message, LogLevel.严重);
        }
    }
}
